﻿using System.Windows.Forms;
using CloudShot.Entities;

namespace CloudShot.Logic
{
  internal static class AppHotKeys
  {
    public static readonly Hotkey StartEditText = new Hotkey(Keys.F2);
    public static readonly Hotkey CommitEditText = new Hotkey(Keys.Enter, KeyModifiers.Ctrl);
    public static readonly Hotkey Cancel = new Hotkey(Keys.Escape);
    public static readonly Hotkey DeleteFigure = new Hotkey(Keys.Delete);
    public static readonly Hotkey DeleteAllFigures = new Hotkey(Keys.Delete, KeyModifiers.Shift);
    public static readonly Hotkey DuplicateFigure = new Hotkey(Keys.D, KeyModifiers.Ctrl);
    public static readonly Hotkey SelectAll = new Hotkey(Keys.A, KeyModifiers.Ctrl);
    public static readonly Hotkey ToggleFullscreen = new Hotkey(Keys.F, KeyModifiers.Ctrl);

    //tools
    public static readonly Hotkey FrameTool = new Hotkey(Keys.F);
    public static readonly Hotkey RectangleTool = new Hotkey(Keys.R);
    public static readonly Hotkey ArrowTool = new Hotkey(Keys.A);
    public static readonly Hotkey LineTool = new Hotkey(Keys.L);
    public static readonly Hotkey TextTool = new Hotkey(Keys.T);
    public static readonly Hotkey EllipseTool = new Hotkey(Keys.E);
    public static readonly Hotkey PointerTool = new Hotkey(Keys.V);

    //main menu
    public static readonly Hotkey SaveImage = new Hotkey(Keys.S, KeyModifiers.Ctrl);
    public static readonly Hotkey UploadImage = new Hotkey(Keys.Enter, KeyModifiers.Ctrl);
    public static readonly Hotkey CopyImage = new Hotkey(Keys.C, KeyModifiers.Ctrl);

    //move selection
    public static readonly Hotkey MoveSelectionUp = new Hotkey(Keys.Up);
    public static readonly Hotkey MoveSelectionDown = new Hotkey(Keys.Down);
    public static readonly Hotkey MoveSelectionLeft = new Hotkey(Keys.Left);
    public static readonly Hotkey MoveSelectionRight = new Hotkey(Keys.Right);

    public static readonly Hotkey MoveSelectionUpLong = new Hotkey(Keys.Up, KeyModifiers.Shift);
    public static readonly Hotkey MoveSelectionDownLong = new Hotkey(Keys.Down, KeyModifiers.Shift);
    public static readonly Hotkey MoveSelectionLeftLong = new Hotkey(Keys.Left, KeyModifiers.Shift);
    public static readonly Hotkey MoveSelectionRightLong = new Hotkey(Keys.Right, KeyModifiers.Shift);

    //preview form
    public static readonly Hotkey PreviewPlayPause = new Hotkey(Keys.Space);
  }
}